package Sagittarius.Manager
{
	
	/**************************************************************************
	 * ...
	 * @author Aqua
	 *************************************************************************/
	public class ComponentManager
	{
		//------------------- Singleton -------------------//
		/**************************************************************************
		 * function				instance getter
		 * description			a private function used to enforce singlton
		 * @return	ComponentManager		singleton instance of this class
		 *************************************************************************/
		public static function get instance():ComponentManager
		{
			if(null == _instance)
			{
				_instance = new ComponentManager(singleton);
			}
		
			return _instance;
		}
		
		/**************************************************************************
		 * function				singleton
		 * description			a private function used to enforce singlton
		 *************************************************************************/
		private static function singleton():void
		{
			
		}
		//------------------- End Of Singleton -------------------//
		
		
		//------------------- Constructor -------------------//
		/**************************************************************************
		 * function				ComponentManager
		 * description			constructor of class
		 * @param	s			a private function used to enforce singlton
		 *************************************************************************/
		public function ComponentManager(s:Function = null):void
		{
			if (singleton != s)
			{
				throw new Error("This is a singleton class!");
			}
		}
		//------------------- End Of Constructor -------------------//
		
		
		private static var _instance:ComponentManager;
	}
	
}